home *** CD-ROM | disk | FTP | other *** search
/ Merciful 5 / Merciful - Disc 5.iso / software / r / rtg_master / rtgmasterv21.0dev.lha / demos / network / TCPServ.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-06-28  |  1.6 KB  |  74 lines

  1. #include <clib/rtgmaster_protos.h>
  2. #include <pragmas/rtgmaster_pragmas.h>
  3. #include <rtgmaster/rtgmaster.h>
  4. #include <rtgmaster/rtgsublibs.h>
  5. #include <clib/exec_protos.h>
  6. #include <pragmas/exec_pragmas.h>
  7. #include <stdio.h>
  8. #include <rtgmaster/rtgtcpip.h>
  9. #include <string.h>
  10.  
  11. struct Library *SocketBase=0;
  12. struct Library *RTGMasterBase=0;
  13.  
  14. void main()
  15. {
  16.  if (RTGMasterBase=OpenLibrary("rtgmaster.library",0))
  17.  {
  18.   if (SocketBase=OpenLibrary("bsdsocket.library",0))
  19.   {
  20.    struct RTG_Socket *rs;
  21.    struct RTG_Socket *rs2;
  22.    struct RTG_Socket *msgsock;
  23.    struct RTG_Buff in_buffer;
  24.    struct RTG_Buff out_buffer;
  25.    long arg=1;
  26.    char buf[1024];
  27.    int f,rval;
  28.    for (f=0;f<9;f++)
  29.    {
  30.     in_buffer.num[f]=-1;
  31.     out_buffer.num[f]=-1;
  32.    }
  33.    in_buffer.in_size=21;
  34.    out_buffer.out_size=25;
  35.    rs=OpenServer(SocketBase,3050,SOCK_STREAM,0);
  36.    RtgIoctl(SocketBase,rs,&arg);
  37.    while(1)
  38.    {
  39.     rs2=rs->list;
  40.     if (rs->num>1)
  41.      for (f=0;f<((rs->num)-1);f++)
  42.       {
  43.        strcpy(out_buffer.sock[f],"Message from the Server!");
  44.        out_buffer.num[f]=rs2->s;
  45.        rs2=rs2->list;
  46.       }
  47.     if (rs->num>1)
  48.      for (f=0;f<((rs->num)-1);f++)
  49.      {
  50.       if (in_buffer.num[f]!=-1) printf("%s %i\n",in_buffer.sock[f],in_buffer.num[f]);
  51.      }
  52.     for (f=0;f<9;f++)
  53.     {
  54.      in_buffer.num[f]=-1;
  55.     }
  56.     if (RunServer(SocketBase,rs,&in_buffer,&out_buffer,9))
  57.     {
  58.      int f=1;
  59.      struct RTG_Socket *tsock;
  60.      for(tsock=rs;tsock->list;tsock=tsock->list)
  61.      {
  62.       printf("Socket Nr. : %i ist %i\n",f,(tsock->list)->s);
  63.       f++;
  64.      }
  65.     }
  66.    }
  67.    if (SocketBase) CloseLibrary(SocketBase);
  68.    if (RTGMasterBase) CloseLibrary(RTGMasterBase);
  69.  
  70.   }
  71.  }
  72. }
  73.  
  74.